Image segmentation is the process of partitioning a digital 2D or 3D image into multiple segments, e.g., sets of pixels for a 2D image or sets of voxels of a 3D image. A pixel is a basic element of a 2D image and represents a sample of the image. Similarly, a voxel is a basic element of a 3D image and represents a value on a grid in a 3D image. The current image segmentation technologies typically sets segmentation parameters ahead of time before the segmentation can begin. After the segmentation is performed using the current settings of the parameters, the segmentation results are provided for rendering and visualization. If the user is not satisfied with the segmentation and rendering results, the user may need to manually re-set or re-configure the segmentation parameters and repeat the segmentation and rendering process. This repeated segmentation is usually done in multiple manual steps. For example, to re-configure, the user needs to select each of the segmentation parameters he or she desires to change, and manually inputs in the new values. After the reconfiguration step, the user re-initiates the segmentation and rendering processes. And if the user is still not satisfied, the user needs to repeat the entire process including the reconfiguration, segmentation, and rendering steps. As a result, the user may be forced to repeat the process many time before a satisfactory segmented image can be obtained.